//---------------------------------------------------------------------------

#ifndef CReferenceH
#define CReferenceH

//---------------------------------------------------------------------------
#include "WebHelp.h"
//---------------------------------------------------------------------------
#include "vSAjoutAdresse.h"
#include "vSModifierAdresse.h"
#include "vSSupprAdresse.h"
#include "vSDesignationManquante.h"
#include "vSCopyRef.h"
#include "vSImporter.h"
//---------------------------------------------------------------------------
#define SUPPR_ADRESSE               "Confirmez vous la suppression de l'adresse sélectionnée ?"
#define SUPPR_PLUSIEURS_ADRESSES    "Confirmez vous la suppression des %d adresses sélectionnées ?"

#define SAISIR_PAGEWEB "<Saisir une adresse Web>"
//---------------------------------------------------------------------------
typedef enum {

    Attente_INCONNUE = -1,
    Attente_MAJ,
    Attente_ND,

    nbrAttente,
    Attente_ERR,

}TTypeAttente;
//---------------------------------------------------------------------------
class CReference
{
    private:
        TdmWebHelp * dmWebHelp;
        int m_nLogiciel;
        int m_nVersion;

    private:
        void __fastcall SupprimerAdresse(const int &nRefCode);
        int  __fastcall CompterReference( const AnsiString &asRef );
        bool __fastcall VerifierDesignation(const AnsiString &asRef);

    public:
        __fastcall CReference(const int &nLogiciel,
                              const int &nVersion);
        __fastcall ~CReference();

        void __fastcall Ajouter(const AnsiString &asLogiciel,
                                const AnsiString &asVersion,
                                const AnsiString &asRef);
        void __fastcall Modifier(const AnsiString &asLogiciel,
                                 const AnsiString &asVersion,
                                 TStringList * lRefCode,
                                 const int &nCount);
        bool __fastcall Copier( const int &nRefer );
        void __fastcall Suppression(const AnsiString &asLogiciel,
                                    const AnsiString &asVersion,
                                    const AnsiString &asRefNom,
                                    const int &nRefer);
        void __fastcall Consulter( const int &nRefer );
        void __fastcall SelectAll( void );
        void __fastcall UnSelectAll( void );
        void __fastcall RemplirListeWeb(TStrings * cbPage);
        void __fastcall Importer();
        void __fastcall VerifierEtat( const AnsiString &asSite, const int &nRefCode );
        AnsiString __fastcall Filtrer(const int &nRefChoix,
                                      const int &nDesChoix,
                                      const int &nWebChoix,
                                      const int &nWebAttente,
                                      const AnsiString &asRef,
                                      const AnsiString &asDes,
                                      const AnsiString &asWeb);
};
//---------------------------------------------------------------------------
#endif
